Method, apparatus and computer program product for providing a consistent virtual entity

ABSTRACT

An apparatus for providing a consistent virtual entity includes a historical event element and a communication element. The historical event element is configured to store historical information based on previously played games related to a virtual entity. The communication element is in communication with the historical element and configured to receive an indication of a particular game related event occurring in a particular game application. The communication element is configured to provide a message including template content and the historical information to a player of the particular game application in response to receipt of the indication.

TECHNOLOGICAL FIELD

Embodiments of the present invention relate generally to gamingtechnology and, more particularly, relate to a method, apparatus, andcomputer program product for providing a consistent virtual entity suchas a virtual opponent.

BACKGROUND

The modem communications era has brought about a tremendous expansion ofwireline and wireless networks. Computer networks, television networks,and telephony networks are experiencing an unprecedented technologicalexpansion, fueled by consumer demand. Wireless and mobile networkingtechnologies have addressed related consumer demands, while providingmore flexibility and immediacy of information transfer.

Current and future networking technologies continue to facilitate easeof information transfer and convenience to users. One area in whichthere is a demand to increase ease of information transfer relates tothe delivery of services to a user of a mobile terminal. The servicesmay be in the form of a particular media or communication applicationdesired by the user, such as a music player, a game player, anelectronic book, short messages, email, etc. The services may also be inthe form of interactive applications in which the user may respond to anetwork device in order to perform a task or achieve a goal. Theservices may be provided from a network server or other network device,or even from the mobile terminal such as, for example, a mobiletelephone, a mobile television, a mobile gaming system, etc.

Gaming applications have become common on mobile telephones and othermobile terminals. Additionally, certain mobile terminals such as mobilegaming systems specialize in delivery of gaming applications to mobileterminal users. Users of such mobile terminals may engage in gamesinvolving other human players, computer players known as virtualplayers, or combinations of human and virtual players. Such virtualplayers may be implemented, for example, using artificial intelligence.In such gaming applications, it is common for a user's enjoyment of agame to at least partly be influenced by interaction with other players.For example, human players have quite varied skill levels and styles ofplay. Additionally, human players generally improve over time and mayeven alter their style of play at any given time. Such variety oftenimproves the game playing experience.

Accordingly, when playing a game with one or more virtual players, asignificant aspect of the game playing experience may be lost. In anattempt to rectify some of the shortcomings of virtual players, currentgame developers have attempted to create more complex virtual players bygiving the virtual players a “personality” which defines a style of playfor the virtual players. For example, some virtual players may beaggressive, while others are conservative. Additionally, virtual playersmay improve in skill as they continue to play. However, such virtualplayers are often confined to a single game or platform. Additionally,there are still other aspects of the gaming experience that such virtualopponents are currently not able to mimic. For example, human playersmight verbally (through text or audio) challenge, complement, tease orotherwise engage the user in conversation related to the gamingexperience. Such conversation may be related to past experiences with aparticular player and often enriches the game playing experience byadding to the interest level of those involved in the game.Additionally, such conversation may impact the game play since certainplayers may alter their style of play based on the conversation. Virtualplayers typically lack such conversational skills.

Accordingly, it may be desirable to develop a virtual opponent that doesnot suffer from the limitations described above in order to enrich thegame playing experience of those human players playing a particulargame.

BRIEF SUMMARY

A method, apparatus and computer program product are therefore providedto create a consistent virtual opponent which can generate conversationrelated to past events involving a human player. In particular, amethod, apparatus and computer program product are provided that allow auser, for example, of a mobile terminal or other gaming device, tocreate a virtual player or opponent that can be consistent throughoutvarious different games or even various gaming platforms. The virtualplayer can generate communications directed at one or more human playerswhich are related to past events involving the one or more humanplayers. Accordingly, the game playing experience of human players maybe enriched.

In one exemplary embodiment, a method of providing a consistent virtualopponent is provided. The method includes receiving an indication of aparticular game related event occurring in a particular gameapplication, and providing a message to a player of the particular gameapplication in response to receipt of the indication. The messageincludes template content and historical information related to avirtual entity.

In another exemplary embodiment, a computer program product forproviding a consistent virtual opponent is provided. The computerprogram product includes at least one computer-readable storage mediumhaving computer-readable program code portions stored therein. Thecomputer-readable program code portions include first and secondexecutable portions. The first executable portion is for receiving anindication of a particular game related event occurring in a particulargame application. The second executable portion is for providing amessage to a player of the particular game application in response toreceipt of the indication. The message includes template content andhistorical information related to a virtual entity.

In another exemplary embodiment, an apparatus for providing a consistentvirtual opponent is provided. The apparatus includes a historical eventelement and a communication element. The historical event element isconfigured to store historical information based on previously playedgames related to a virtual entity. The communication element is incommunication with the historical element and configured to receive anindication of a particular game related event occurring in a particulargame application. The communication element is configured to provide amessage including template content and the historical information to aplayer of the particular game application in response to receipt of theindication.

In another exemplary embodiment, an apparatus for providing a consistentvirtual opponent is provided. The apparatus includes means for receivingan indication of a particular game related event occurring in aparticular game application, and means for providing a message to aplayer of the particular game application in response to receipt of theindication. The message includes template content and historicalinformation related to a virtual entity.

Embodiments of the invention may provide a method, apparatus andcomputer program product for advantageous employment in a gamingenvironment, such as on a mobile terminal capable of executing gamingapplications. As a result, for example, mobile terminal users may enjoyan improved game playing experience.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

Having thus described embodiments of the invention in general terms,reference will now be made to the accompanying drawings, which are notnecessarily drawn to scale, and wherein:

FIG. 1 is a schematic block diagram of a mobile terminal according to anexemplary embodiment of the present invention;

FIG. 2 is a schematic block diagram of a wireless communications systemaccording to an exemplary embodiment of the present invention;

FIG. 3 illustrates a block diagram of portions of a system for providinga consistent virtual entity according to an exemplary embodiment of thepresent invention; and

FIG. 4 is a block diagram according to an exemplary method for providinga consistent virtual entity according to an exemplary embodiment of thepresent invention.

DETAILED DESCRIPTION

Embodiments of the present invention will now be described more fullyhereinafter with reference to the accompanying drawings, in which some,but not all embodiments of the invention are shown. Indeed, embodimentsof the invention may be embodied in many different forms and should notbe construed as limited to the embodiments set forth herein; rather,these embodiments are provided so that this disclosure will satisfyapplicable legal requirements. Like reference numerals refer to likeelements throughout.

FIG. 1 illustrates a block diagram of a mobile terminal 10 that wouldbenefit from embodiments of the present invention. It should beunderstood, however, that a mobile telephone as illustrated andhereinafter described is merely illustrative of one type of mobileterminal that would benefit from embodiments of the present inventionand, therefore, should not be taken to limit the scope of embodiments ofthe present invention. While several embodiments of the mobile terminal10 are illustrated and will be hereinafter described for purposes ofexample, other types of mobile terminals, such as portable digitalassistants (PDAs), pagers, mobile televisions, gaming devices, laptopcomputers and other types of voice and text communications systems, canreadily employ embodiments of the present invention.

In addition, while several embodiments of the method of the presentinvention are performed or used by a mobile terminal 10, the method maybe employed by other than a mobile terminal. Moreover, the system andmethod of embodiments of the present invention will be primarilydescribed in conjunction with mobile communications applications. Itshould be understood, however, that the system and method of embodimentsof the present invention can be utilized in conjunction with a varietyof other applications, both in the mobile communications industries andoutside of the mobile communications industries.

The mobile terminal 10 includes an antenna 12 in operable communicationwith a transmitter 14 and a receiver 16. The mobile terminal 10 furtherincludes a controller 20 or other processing element that providessignals to and receives signals from the transmitter 14 and receiver 16,respectively. The signals include signaling information in accordancewith the air interface standard of the applicable cellular system, andalso user speech and/or user generated data. In this regard, the mobileterminal 10 is capable of operating with one or more air interfacestandards, communication protocols, modulation types, and access types.By way of illustration, the mobile terminal 10 is capable of operatingin accordance with any of a number of first, second and/orthird-generation communication protocols or the like. For example, themobile terminal 10 may be capable of operating in accordance withsecond-generation (2G) wireless communication protocols IS-136 (TDMA),GSM, and IS-95 (CDMA), or with third-generation (3G) wirelesscommunication protocols, such as UMTS, CDMA2000, and TD-SCDMA.

It is understood that the controller 20 includes circuitry required forimplementing audio and logic functions of the mobile terminal 10. Forexample, the controller 20 may be comprised of a digital signalprocessor device, a microprocessor device, and various analog to digitalconverters, digital to analog converters, and other support circuits.Control and signal processing functions of the mobile terminal 10 areallocated between these devices according to their respectivecapabilities. The controller 20 thus may also include the functionalityto convolutionally encode and interleave message and data prior tomodulation and transmission. The controller 20 can additionally includean internal voice coder, and may include an internal data modem.Further, the controller 20 may include functionality to operate one ormore software programs, which may be stored in memory. For example, thecontroller 20 may be capable of operating a connectivity program, suchas a conventional Web browser. The connectivity program may then allowthe mobile terminal 10 to transmit and receive Web content, such aslocation-based content, according to a Wireless Application Protocol(WAP), for example.

The mobile terminal 10 also comprises a user interface including anoutput device such as a conventional earphone or speaker 24, a ringer22, a microphone 26, a display 28, and a user input interface, all ofwhich are coupled to the controller 20. The user input interface, whichallows the mobile terminal 10 to receive data, may include any of anumber of devices allowing the mobile terminal 10 to receive data, suchas a keypad 30, a touch display (not shown) or other input device. Inembodiments including the keypad 30, the keypad 30 may include theconventional numeric (0-9) and related keys (#, *), and other keys usedfor operating the mobile terminal 10. Alternatively, the keypad 30 mayinclude a conventional QWERTY keypad arrangement. The keypad 30 may alsoinclude various soft keys with associated functions. In addition, oralternatively, the mobile terminal 10 may include an interface devicesuch as a joystick or other user input interface. The mobile terminal 10further includes a battery 34, such as a vibrating battery pack, forpowering various circuits that are required to operate the mobileterminal 10, as well as optionally providing mechanical vibration as adetectable output.

The mobile terminal 10 may further include a universal identity element(UIM) 38. The UIM 38 is typically a memory device having a processorbuilt in. The UIM 38 may include, for example, a subscriber identityelement (SIM), a universal integrated circuit card (UICC), a universalsubscriber identity element (USIM), a removable user identity element(R-UIM), etc. The UIM 38 typically stores information elements relatedto a mobile subscriber. In addition to the UIM 38, the mobile terminal10 may be equipped with memory. For example, the mobile terminal 10 mayinclude volatile memory 40, such as volatile Random Access Memory (RAM)including a cache area for the temporary storage of data. The mobileterminal 10 may also include other non-volatile memory 42, which can beembedded and/or may be removable. The non-volatile memory 42 canadditionally or alternatively comprise an EEPROM, flash memory or thelike, such as that available from the SanDisk Corporation of Sunnyvale,Calif., or Lexar Media Inc. of Fremont, Calif. The memories can storeany of a number of pieces of information, and data, used by the mobileterminal 10 to implement the functions of the mobile terminal 10. Forexample, the memories can include an identifier, such as aninternational mobile equipment identification (IMEI) code, capable ofuniquely identifying the mobile terminal 10.

Referring now to FIG. 2, an illustration of one type of system thatwould benefit from embodiments of the present invention is provided. Thesystem includes a plurality of network devices. As shown, one or moremobile terminals 10 may each include an antenna 12 for transmittingsignals to and for receiving signals from a base site or base station(BS) 44. The base station 44 may be a part of one or more cellular ormobile networks each of which includes elements required to operate thenetwork, such as a mobile switching center (MSC) 46. As well known tothose skilled in the art, the mobile network may also be referred to asa Base Station/MSC/Interworking function (BMI). In operation, the MSC 46is capable of routing calls to and from the mobile terminal 10 when themobile terminal 10 is making and receiving calls. The MSC 46 can alsoprovide a connection to landline trunks when the mobile terminal 10 isinvolved in a call. In addition, the MSC 46 can be capable ofcontrolling the forwarding of messages to and from the mobile terminal10, and can also control the forwarding of messages for the mobileterminal 10 to and from a messaging center. It should be noted thatalthough the MSC 46 is shown in the system of FIG. 2, the MSC 46 ismerely an exemplary network device and embodiments of the presentinvention are not limited to use in a network employing an MSC.

The MSC 46 can be coupled to a data network, such as a local areanetwork (LAN), a metropolitan area network (MAN), and/or a wide areanetwork (WAN). The MSC 46 can be directly coupled to the data network.In one typical embodiment, however, the MSC 46 is coupled to a GTW 48,and the GTW 48 is coupled to a WAN, such as the Internet 50. In turn,devices such as processing elements (e.g., personal computers, servercomputers or the like) can be coupled to the mobile terminal 10 via theInternet 50. For example, as explained below, the processing elementscan include one or more processing elements associated with a computingsystem 52 (two shown in FIG. 2), origin server 54 (one shown in FIG. 2)or the like, as described below.

The BS 44 can also be coupled to a signaling GPRS (General Packet RadioService) support node (SGSN) 56. As known to those skilled in the art,the SGSN 56 is typically capable of performing functions similar to theMSC 46 for packet switched services. The SGSN 56, like the MSC 46, canbe coupled to a data network, such as the Internet 50. The SGSN 56 canbe directly coupled to the data network. In a more typical embodiment,however, the SGSN 56 is coupled to a packet-switched core network, suchas a GPRS core network 58. The packet-switched core network is thencoupled to another GTW 48, such as a GTW GPRS support node (GGSN) 60,and the GGSN 60 is coupled to the Internet 50. In addition to the GGSN60, the packet-switched core network can also be coupled to a GTW 48.Also, the GGSN 60 can be coupled to a messaging center. In this regard,the GGSN 60 and the SGSN 56, like the MSC 46, may be capable ofcontrolling the forwarding of messages, such as MMS messages. The GGSN60 and SGSN 56 may also be capable of controlling the forwarding ofmessages for the mobile terminal 10 to and from the messaging center.

In addition, by coupling the SGSN 56 to the GPRS core network 58 and theGGSN 60, devices such as a computing system 52 and/or origin server 54may be coupled to the mobile terminal 10 via the Internet 50, SGSN 56and GGSN 60. In this regard, devices such as the computing system 52and/or origin server 54 may communicate with the mobile terminal 10across the SGSN 56, GPRS core network 58 and the GGSN 60. By directly orindirectly connecting mobile terminals 10 and the other devices (e.g.,computing system 52, origin server 54, etc.) to the Internet 50, themobile terminals 10 may communicate with the other devices and with oneanother, such as according to the Hypertext Transfer Protocol (HTTP), tothereby carry out various functions of the mobile terminals 10.

Although not every element of every possible mobile network is shown anddescribed herein, it should be appreciated that the mobile terminal 10may be coupled to one or more of any of a number of different networksthrough the BS 44. In this regard, the network(s) can be capable ofsupporting communication in accordance with any one or more of a numberof first-generation (I G), second-generation (2G), 2.5G and/orthird-generation (3G) mobile communication protocols or the like. Forexample, one or more of the network(s) can be capable of supportingcommunication in accordance with 2G wireless communication protocolsIS-136 (TDMA), GSM, and IS-95 (CDMA). Also, for example, one or more ofthe network(s) can be capable of supporting communication in accordancewith 2.5G wireless communication protocols GPRS, Enhanced Data GSMEnvironment (EDGE), or the like. Further, for example, one or more ofthe network(s) can be capable of supporting communication in accordancewith 3G wireless communication protocols such as Universal MobileTelephone System (UMTS) network employing Wideband Code DivisionMultiple Access (WCDMA) radio access technology. Some narrow-band AMPS(NAMPS), as well as TACS, network(s) may also benefit from embodimentsof the present invention, as should dual or higher mode mobile stations(e.g., digital/analog or TDMA/CDMA/analog phones).

The mobile terminal 10 can further be coupled to one or more wirelessaccess points (APs) 62. The APs 62 may comprise access points configuredto communicate with the mobile terminal 10 in accordance with techniquessuch as, for example, radio frequency (RF), Bluetooth (BT), infrared(IrDA) or any of a number of different wireless networking techniques,including wireless LAN (WLAN) techniques such as IEEE 802.11 (e.g.,802.11a, 802.11b, 802.11g, 802.1 in, etc.), WiMAX techniques such asIEEE 802.16, and/or ultra wideband (UWB) techniques such as IEEE 802.15or the like. The APs 62 may be coupled to the Internet 50. Like with theMSC 46, the APs 62 can be directly coupled to the Internet 50. In oneembodiment, however, the APs 62 are indirectly coupled to the Internet50 via a GTW 48. Furthermore, in one embodiment, the BS 44 may beconsidered as another AP 62. As will be appreciated, by directly orindirectly connecting the mobile terminals 10 and the computing system52, the origin server 54, and/or any of a number of other devices, tothe Internet 50, the mobile terminals 10 can communicate with oneanother, the computing system, etc., to thereby carry out variousfunctions of the mobile terminals 10, such as to transmit data, contentor the like to, and/or receive content, data or the like from, thecomputing system 52. As used herein, the terms “data,” “content,”“information” and similar terms may be used interchangeably to refer todata capable of being transmitted, received and/or stored in accordancewith embodiments of the present invention. Thus, use of any such termsshould not be taken to limit the spirit and scope of the presentinvention.

Although not shown in FIG. 2, in addition to or in lieu of coupling themobile terminal 10 to computing systems 52 across the Internet 50, themobile terminal 10 and computing system 52 may be coupled to one anotherand communicate in accordance with, for example, RF, BT, IrDA or any ofa number of different wireline or wireless communication techniques,including LAN, WLAN, WiMAX and/or UWB techniques. One or more of thecomputing systems 52 can additionally, or alternatively, include aremovable memory capable of storing content, which can thereafter betransferred to the mobile terminal 10. Further, the mobile terminal 10can be coupled to one or more electronic devices, such as printers,digital projectors and/or other multimedia capturing, producing and/orstoring devices (e.g., other terminals). Like with the computing systems52, the mobile terminal 10 may be configured to communicate with theportable electronic devices in accordance with techniques such as, forexample, RF, BT, IrDA or any of a number of different wireline orwireless communication techniques, including USB, LAN, WLAN, WiMAXand/or UWB techniques.

An exemplary embodiment of the invention will now be described withreference to FIG. 3, in which certain elements of a system for providinga consistent virtual opponent are displayed. The system of FIG. 3 may beemployed, for example, on the mobile terminal 10 of FIG. 1. However, itshould be noted that the system of FIG. 3, may also be employed on avariety of other devices, both mobile and fixed, and therefore,embodiments of the present invention should not be limited toapplication on devices such as the mobile terminal 10 of FIG. 1. Forexample, the system of FIG. 3 may be employed on a network device suchas a server, which may be a game server. Alternatively, any networkdevice of FIG. 2 may employ embodiments of the invention. It should alsobe noted, however, that while FIG. 3 illustrates one example of aconfiguration of a system for providing a consistent virtual player orentity, numerous other configurations may also be used to implementembodiments of the present invention. Furthermore, although FIG. 3 willbe described in the context of a virtual opponent, embodiments of thepresent invention need not necessarily be practiced in the context ofadversarial gaming, but instead applies to gaming involving any virtualentity that may interact with a human player during a gaming experience.Thus, embodiments of the present invention may also be practiced inother exemplary applications such as, for example, in the context of avirtual assistant, teammate, dealer, referee, official, etc., andcommunications originating at the virtual opponent should be understoodas being capable of origination from any of the virtual entities above.Additionally, it should be noted that in an exemplary embodiment,communications from the virtual opponent may be made through, forexample, text, video or audio.

Referring now to FIG. 3, a system for providing a consistent virtualopponent is provided. The system described hereinafter may be used, forexample, with existing artificial intelligence schemes in order toimplement a consistent virtual entity across a plurality of gameapplications or gaming platforms. The system includes an entitymanagement element 70, a historical event element 72 and acommunications element 74. Each of the entity management element 70, thehistorical event element 72 and the communications element 74 may be anydevice or means embodied in either hardware, software, or a combinationof hardware and software capable of performing the respective functionsassociated with each of the corresponding elements as described below.In an exemplary embodiment, the entity management element 70, thehistorical event element 72 and the communications element 74 areembodied in software as instructions that are stored on a memory of themobile terminal 10 and executed by the controller 20. However, each ofthe elements above may alternatively operate under the control of acorresponding local processing element or a processing element ofanother device not shown in FIG. 3. A processing element such as thosedescribed above may be embodied in many ways. For example, theprocessing element may be embodied as a processor, a coprocessor, acontroller or various other processing means or devices includingintegrated circuits such as, for example, an ASIC (application specificintegrated circuit).

It should be noted that although FIG. 3 illustrates the entitymanagement element 70, the historical event element 72 and thecommunications element 74 as being separate elements, any two or all ofthe entity management element 70, the historical event element 72 andthe communications element 74 may also be collocated or embodied in asingle element or device capable of performing the correspondingfunctions of the entity management element 70, the historical eventelement 72 and the communications element 74. Additionally, as statedabove, embodiments of the present invention are not limited toapplication in mobile terminals. Thus, the entity management element 70,the historical event element 72 and the communications element 74 may bedisposed at any fixed or mobile device capable of executing gameapplications, or at a server or other mass storage device from whichapplications may be executed by devices accessing the game applicationsat the server or other mass storage device. Accordingly, any device ormeans capable of performing the functions associated with each of theelements above may employ the system of FIG. 3.

In general, the entity management element 70, the historical eventelement 72 and the communications element 74 provide a mechanism bywhich a virtual entity 76 associated with at least one game application78 may interact with a player of a particular game application inresponse to an event associated with the particular game application inwhich the interaction is based upon a historical event associated withthe player. The interaction may be through communication such as, forexample, text, video or audio communication. The entity managementelement 70 enables user interface in order to create, modify, import,delete or otherwise control each virtual entity. In an exemplaryembodiment, the virtual entity 76 is a consistent virtual opponent thatis associated with the player and may engage the player in a pluralityof game applications over either a single platform or multipleplatforms. The historical event element 72 records historical eventsassociated with the player for incorporation into communications fromthe virtual entity 76 to the player. The historical events may relate toany of various game applications with which the virtual entity 76 iscapable of being utilized. As such, the historical event element 72 mayrecord, for example, final game results, scores, or particular eventswhich occur during the course of any of the various game applicationswith which the virtual entity is capable of being utilized. Thecommunications element 74 stores information such as communicationtemplates for integration with historical event information frompreviously played games the player has participated in to formcommunications with the player that are completed or selected whentriggered by occurrence of an event in a current game.

It should be noted that the game application 78 may be stored, forexample, at the mobile terminal 10 or any other fixed or mobile gamingdevice. Alternatively, the game application 78 may be stored at anetwork device, such as a game server, that is accessible to the mobileterminal 10 or other fixed or mobile gaming device.

The entity management element 70 is capable of providing a userinterface mechanism by which the user can setup, modify, or otherwisemanage the virtual entity 76. In this regard, the entity managementelement 70 may be capable of managing a plurality of virtual entitiessuch as the virtual opponent, all of which may be associated with aparticular human player and are consistent across various gameapplications and potentially consistent across various platforms. Inother words, the virtual entity 76 of an embodiment of the presentinvention is associated with the particular human player and can“follow” the particular human player to various different gameapplications. As such, the particular human player may encounter thevirtual entity 76 as a virtual opponent, for example, in each of thevarious different game applications. Furthermore, in an embodiment inwhich the system of FIG. 3 is employed at a network device, theparticular human player may encounter the virtual entity 76 in a gameapplication hosted at one of various different host devices or platformswhich are capable of accessing the game application at the networkdevice.

In one embodiment, the entity management element 70 may corresponddirectly to a particular human player and list all (if more than one arepresent) of the virtual entities associated with the single humanplayer. For example, the particular human player may create, import, orotherwise have an ability to modify characteristics of a plurality ofvirtual entities. Alternatively, the particular human player may create,import, or otherwise have an ability to modify characteristics of oneparticular virtual entity, such as the virtual entity 76. In thisregard, the particular human player may initially create or modifycharacteristics related to the virtual entity 76 such as, for example,name, skill, experience, playing style, etc., and in particular thecommunication style of the virtual entity 76. In situations where morethan one virtual entity is associated with the particular human player,the particular human player may have an option to select one or more ofthe virtual entities to participate in any given gaming application. Forexample, the particular human player may select one or more of thevirtual entities to act as a virtual opponent and one or more of thevirtual entities may also be selected to act as a virtual teammate.

Alternatively, the entity management element 70 may be capable ofproviding multiple human players or users with an ability to managecorresponding virtual entities. Each human player may be identified, forexample, by a user name or some other identification mechanism.Accordingly, a first group of one or more virtual entities may beassociated with a first human player and a second group of one or morevirtual entities may be associated with a second human player. Virtualentities in the first and second groups may be exclusive to the firstand second human players, respectively. In other words, a particularvirtual entity may not be capable of inclusion in both the first andsecond groups. Thus, each of the first and second human players may havethe ability to manage virtual entities (if more than one are desired) intheir corresponding groups. Alternatively, virtual entities may beshared between players. For example, the virtual entity 76 may be inboth the first and second groups. In such a situation, for example, oneof the first and second human players may be designated as havingmanaging authority to alter or otherwise modify characteristics of thevirtual entity 76 while the other has only access privileges to interactwith the virtual entity 76. In any case, historical information for eachgame application may be stored to be associated with the virtual entity76 and/or the respective human player.

As yet another alternative, multiple entity management elements may bestored on a particular platform or network device, in which each of theentity management elements corresponds to a particular player. Thus, oneor more virtual entities may be stored for each player in acorresponding entity management element. However, as will be understoodfrom the above exemplary embodiments, the virtual entity 76 may beassociated with one or more players and thus, historical events relatedto game experiences involving the virtual entity 76 may be recorded orotherwise stored in association with the corresponding players for usein communications via the communication element 74.

Identities and characteristics of each virtual entity may be stored in amemory of the entity management element 70 or in a memory device that isotherwise accessible to the entity management element 70. In thisregard, although the identities and characteristics of each of thevirtual entities may include any of, for example, name, skill,experience, playing style, etc., in an exemplary embodiment, the virtualentities include at least the communication style of the virtual entity76. The communication style defines which types and degrees ofcommunication the virtual entity 76 may employ. In an exemplaryembodiment, the communication style of the virtual entity 76 may bescaled in any number of communication dimensions such as, for example,tone of voice, volume or projection, aggressiveness, formality,discretion, etc. For example, the tone of voice dimension may be scaledfrom “sarcastic” to “sincere”, the volume dimension may be scaled from“boisterous” to “shy”, the assertiveness dimension may be scaled from“aggressive” to “reserved”, the formality dimension may be scaled from“slang” to “proper”, and the discretion dimension may be scaled from“raunchy” to “sublime”. It should be noted that the preceding dimensionsare merely exemplary and in no way limiting in terms of types ofdimensions and scaling within the dimensions. Thus, for example, anumerical or other scale may also be employed. The communication stylemay also define, at least in part, events in response to which thevirtual entity 76 communicates. For example, an aggressive virtualentity 76 may be more likely to comment immediately before a game beginsor a hand is dealt with a comment such as, “Are you ready to get beatenlike last night?”, while a reserved virtual entity 76 may be more likelyto comment immediately after the game ends or the hand is played, “Thatreminds me of how I beat you last night.” In this regard, communicationfrom the virtual entity 76 may be drawn from preprogrammed content, andselection of particular items from the preprogrammed content may be madevia a probabilistic determination made by the communication element 74based on the communication style of the virtual entity 76.

Thus, in an exemplary embodiment, upon creation of the virtual entity76, the name, skill, experience, playing style, etc. may be defined. Atleast the communication style of the virtual entity 76 may also bedefined using the entity management element 70. For example, the entitymanagement element 70 may enable the user to input such characteristicsin various fields of an information control console or other interfacemechanism. Furthermore, the entity management element 70 may enable theuser to make changes to a profile of an existing virtual entity eitherupon importation of the virtual entity from the profile of anotherplayer, from another platform, or from a network such as the internet.Alternatively, changes may be made to an existing virtual entity “on thefly” or during a particular game. In other words, if the user is playinga game with a virtual opponent and the user wishes to altercharacteristics of the virtual opponent, such changes may be made duringthe game. Accordingly, after changes are made to characteristics of anexisting virtual entity or a new virtual entity is created, the existingor newly created virtual entity may communicate via the communicationselement 74 in accordance with the changed characteristics as defined bythe communication style of the virtual entity 76.

The entity management module 70 may be in communication with the gameapplication 78 in order to communicate with a human player in responseto events associated with the game application 78. In an exemplaryembodiment, the entity management module 70 may be configured tocommunicate with each of a plurality of game applications stored on orotherwise accessible at a particular platform such as the mobileterminal 10. In an alternative embodiment, the entity management module70 may be configured to communicate with a plurality of gameapplications stored on or otherwise accessible at a particular server ornetwork device. In other words, the entity management module 70 may beconfigured to communicate with a plurality of game applications over aplurality of platforms. Since historical information may be gathered foreach game in which the virtual entity 76 is capable of interaction, thevirtual entity 76 may be consistent as between the various platforms andgame applications.

In order to generate communications in response to a particular event oroccurrence during a game application, the communications element 74sends a message 80 to human players via, for example, text, video oraudio. The message 80 has content including historical information 82from the historical event element 72 and template content 84 which maybe stored at the communications element 74 or otherwise accessible tothe communications element 74, for example, from a memory deviceexternal to the communications element 74.

The historical information 82 is information regarding past eventsassociated with the virtual entity 76 and/or the human player from pastgame applications in which either or both of the virtual entity 76 andthe human player were involved. For example, the historical information82, which is stored in the historical event element 72, may include suchinformation as game results (i.e., win or lose), game score, statisticsrelated to player performance, or particular events within a game suchas results of a particular hand in a card game, scoring of a gamewinning goal or point, etc. In an exemplary embodiment, the historicalinformation 82 may be related to past events associated with the humanplayer and the virtual entity 76. In other words, the virtual entity 76may comment on experiences common to both the virtual entity 76 and thehuman player such as, “I'm going to beat you just like I did lastnight.” However, in an alternative embodiment, the historicalinformation 82 may be related to past events associated with just thehuman player, or with just the virtual entity 76 if the virtual entity76 is associated with the human player and one or more other humanplayers associated with the human player. For example, if a first playerand a second player each interact with the same virtual entity, thevirtual entity may produce a message 80 during a game with the firstplayer in which the message 80 includes historical information 82related to past events associated with only the virtual entity such as,“That move was almost as poor as the one ‘second player’ made against melast night.” As an alternative example, the virtual entity may produce amessage 80 during a game with the first player in which the message 80includes historical information 82 related to-past events associatedwith only the first player such as, “That move was almost as poor as theone you made against ‘second player’ made last night.”

Accordingly, the historical event element 72 may store informationrelated to past events in a storage device of or otherwise accessible tothe historical event element 72 during each game associated with a gameapplication with which the virtual entity 76 is either capable ofparticipating or actually selected for participation. The storedinformation may then be accessed for inclusion as historical information82 in the message 80 sent by the communication element 74. Thehistorical event element 72 may also store current game information 86related to events, statistics, etc. occurring in the current gameapplication for use as historical information in future gameapplications. It should also be apparent that the message 80 may be sentduring a game of a first game application which includes historicalinformation 82 that may have been gathered responsive to previous gamesof the first game application, or of previous games of a second gameapplication. Furthermore, the first and second game applications may belaunched via either the same or different platforms. As anotheralternative, historical information 82 could include past events from acurrent game application which were previously stored while playing thecurrent game application.

As stated above, the communication element 74 may select a particularcommunication in response to probabilistic determinations made by thecommunication element 74 based on the communication style of the virtualentity 76. In this regard, the communication element 74 may constructthe message 80 including the historical information 82 and the templatecontent 84. The template content 84 may include various standard phraseswith portions of each standard phrase that are left blank in order toreceive the historical information 82 to complete the message 80. Forexample, the template content 84 may include a standard phrase such as“So (blank 1), are you ready to get beaten like you did (blank 2) in(blank 3)?” Thus, blank 1 may be a reserved field for identityinformation related to the player such as a name, user id, login, etc.Meanwhile, blank 2 may be a reserved field for time information, such asthe date and/or time of a particular game related event and blank 3 maybe a reserved field for information related to an identity of theparticular game in which the game related event occurred. Accordingly,an exemplary embodiment of the message 80 may include theprobabilistically selected template content 84 above with historicalinformation 82 randomly selected from, for example, a databaseaccessible to the historical event element 72. Thus, the message 80 maybe, for example, “So Player 1, are you ready to get beaten like you didyesterday in poker.”

As can be seen from the example above, each template of the templatecontent 84 may include predefined fields corresponding to particularinformation stored in the historical event element 72. Thus, forexample, the historical event element 72, may store information relatedto player identity, game identity, a particular event, statistic orother information associated with the identified game, and timeinformation related to occurrence of the particular event or otherinformation associated with the identified game. As such, all orportions of the stored information may be included as the historicalinformation 82 which is combined with the template content 84 to formthe message 80.

The message 80 may take any suitable form such as, for example, text,audio, video or any combination of text, audio and video. In thisregard, in situations where the message 80 includes audio, the message80 may be produced via, for example, a text-to-speech element. However,prerecorded template content and synthetically produced audio historicalinformation may also be employed. In an exemplary embodiment, thetemplate content 84 may be divided or otherwise organized such thatparticular template content may be associated with particular currentgame events. In other words, a particular situation in a current gamemay be associated with particular template content, such that theparticular template content is eligible for inclusion in a message inresponse to the occurrence of the particular situation. For example, ina card game, there may be particular template content that may beeligible for inclusion in a message following the dealing of aparticular hand, while other particular template content may be eligiblefor inclusion in a message in response to completion of or beginning ofthe card game. In an exemplary embodiment, the message 80 could take theform of haptic feedback such as, for example, force feedback or causingvibrations in a game controller.

In an exemplary embodiment, the template content 84 may be preprogrammedsuch that with respect to messages, a predetermined number of templatecontent items may exist while the historical information 82 may increaseover time. Since the database or other storage device maintaining thehistorical information 82 may have limited storage space, the historicalevent element 72 may be configured to delete older information in orderto make room for newer information on a routine basis, or in response toan indication that the database lacks sufficient room to add the newerinformation without deletion of the older information.

In an alternative exemplary embodiment, the template content 84 may bemodified by players. For example, a player may create new templatecontent or customize existing template content. Alternatively, a storagelocation for the template content 84, for example, at a network devicesuch as a server, may be accessed by players to download additionaltemplate content which may be created by network operators or otherplayers having the capability to author template content and store suchauthored content at the storage location. In this way, a virtual entitysuch as the virtual opponent may grow an expanding vocabulary which canreflect current trends and the current vernacular.

FIG. 4 is a flowchart of a system, method and program product accordingto exemplary embodiments of the invention. It will be understood thateach block or step of the flowcharts, and combinations of blocks in theflowcharts, can be implemented by various means, such as hardware,firmware, and/or software including one or more computer programinstructions. For example, one or more of the procedures described abovemay be embodied by computer program instructions. In this regard, thecomputer program instructions which embody the procedures describedabove may be stored by a memory device of the mobile terminal andexecuted by a built-in processor in the mobile terminal. As will beappreciated, any such computer program instructions may be loaded onto acomputer or other programmable apparatus (i.e., hardware) to produce amachine, such that the instructions which execute on the computer orother programmable apparatus create means for implementing the functionsspecified in the flowcharts block(s) or step(s). These computer programinstructions may also be stored in a computer-readable memory that candirect a computer or other programmable apparatus to function in aparticular manner, such that the instructions stored in thecomputer-readable memory produce an article of manufacture includinginstruction means which implement the function specified in theflowcharts block(s) or step(s). The computer program instructions mayalso be loaded onto a computer or other programmable apparatus to causea series of operational steps to be performed on the computer or otherprogrammable apparatus to produce a computer-implemented process suchthat the instructions which execute on the computer or otherprogrammable apparatus provide steps for implementing the functionsspecified in the flowcharts block(s) or step(s).

Accordingly, blocks or steps of the flowcharts support combinations ofmeans for performing the specified functions, combinations of steps forperforming the specified functions and program instruction means forperforming the specified functions. It will also be understood that oneor more blocks or steps of the flowcharts, and combinations of blocks orsteps in the flowcharts, can be implemented by special purposehardware-based computer systems which perform the specified functions orsteps, or combinations of special purpose hardware and computerinstructions.

In this regard, one embodiment of a method of providing data clusteringand mode selection, as shown in FIG. 4, includes receiving an indicationof a particular game related event occurring in a particular gameapplication at operation 110. The particular game related event may be,for example, any occurrence, situation or event occurring duringexecution of a particular game application. At operation 120, a messageincluding template content and historical information related to avirtual entity is provided to a player of the particular gameapplication in response to receipt of the indication. The historicalinformation includes information related to past performances or gamesinvolving one of the player or the virtual entity. The past performancesor games may be related to the particular game application or any othergame application with which the virtual entity is associated. Thus, thevirtual entity may be consistent across a plurality of game applicationsand/or a plurality of platforms capable of hosting the gameapplications. In an exemplary embodiment, an initial operation 100includes receiving input such as player input to define thecommunication style of the virtual entity. The player input received mayinclude input defining a scaled value for each of a plurality ofcommunication dimensions. At optional operation 130, data related to theparticular game application may be stored for use as historicalinformation in future game applications. The method may also include anoptional operation 140 of defining a specific template content as beingeligible for selection for inclusion in the message in response to eachparticular game related event.

The above described functions may be carried out in many ways. Forexample, any suitable means for carrying out each of the functionsdescribed above may be employed to carry out embodiments of theinvention. In one embodiment, all or a portion of the elements of theinvention generally operate under control of a computer program product.The computer program product for performing the methods of embodimentsof the invention includes a computer-readable storage medium, such asthe non-volatile storage medium, and computer-readable program codeportions, such as a series of computer instructions, embodied in thecomputer-readable storage medium.

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseembodiments pertain having the benefit of the teachings presented in theforegoing descriptions and the associated drawings. Therefore, it is tobe understood that the inventions are not to be limited to the specificembodiments disclosed and that modifications and other embodiments areintended to be included within the scope of the appended claims.Although specific terms are employed herein, they are used in a genericand descriptive sense only and not for purposes of limitation.

1. A method comprising: receiving an indication of a particular game related event occurring in a particular game application; and providing a message to a player of the particular game application in response to receipt of the indication, the message including template content and historical information based on a previous performance associated with a virtual entity.
 2. A method according to claim 1, further comprising an initial operation of receiving input to define a communication style of the virtual entity.
 3. A method according to claim 2, wherein receiving input to define the communication style of the virtual entity comprises receiving input defining a scaled value for each of a plurality of communication dimensions.
 4. A method according to claim 2, further comprising modifying the communication style of the virtual entity during execution of the particular game application.
 5. A method according to claim 1, further comprising storing data related to the particular game application for use as historical information in future game applications.
 6. A method according to claim 1, further comprising receiving one of changes or additions to the template content.
 7. A method according to claim 1, further comprising defining a specific template content as being eligible for selection for inclusion in the message in response to each particular game related event.
 8. A method according to claim 1, wherein providing the message comprises providing the message including the historical information defined by information related to past games involving one of the player or the virtual entity independent of the particular game application.
 9. A method according to claim 1, further comprising selecting particular items from preprogrammed content via a probabilistic determination based on the communication style of the virtual entity.
 10. A computer program product comprising at least one computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising: a first executable portion for receiving an indication of a particular game related event occurring in a particular game application; and a second executable portion for providing a message to a player of the particular game application in response to receipt of the indication, the message including template content and historical information based on a previous performance associated with a virtual entity.
 11. A computer program product according to claim 10, further comprising a third executable portion for an initial operation of receiving input to define a communication style of the virtual entity.
 12. A computer program product according to claim 11, wherein the third executable portion includes instructions for receiving input defining a scaled value for each of a plurality of communication dimensions.
 13. A computer program product according to claim 11, further comprising a fourth executable portion for modifying the communication style of the virtual entity during execution of the particular game application.
 14. A computer program product according to claim 11, further comprising a fourth executable portion for selecting particular items from preprogrammed content via a probabilistic determination based on the communication style of the virtual entity
 15. A computer program product according to claim 10, further comprising a third executable portion for storing data related to the particular game application for use as historical information in future game applications.
 16. A computer program product according to claim 10, further comprising a third executable portion for receiving one of changes or additions to the template content.
 17. A computer program product according to claim 10, further comprising a third executable portion for defining a specific template content as being eligible for selection for inclusion in the message in response to each particular game related event.
 18. A computer program product according to claim 10, wherein the second executable portion includes instructions for providing the message including the historical information defined by information related to past games involving one of the player or the virtual entity independent of the particular game application.
 19. An apparatus comprising: a historical event element configured to store historical information based on previously played games related to a virtual entity; and a communication element in communication with the historical element and configured to: receive an indication of a particular game related event occurring in a particular game application; and provide a message including template content and the historical information to a player of the particular game application in response to receipt of the indication.
 20. An apparatus according to claim 19, further comprising an entity management element in communication with the communication element and the historical event element receiving input to define a communication style of the virtual entity.
 21. An apparatus according to claim 20, wherein the entity management element is capable of receiving input defining a scaled value for each of a plurality of communication dimensions.
 22. An apparatus according to claim 20, wherein the entity management element is configured to enable modification of the communication style of the virtual entity during execution of the particular game application.
 23. An apparatus according to claim 20, wherein the communication element is configured to select particular items from preprogrammed content via a probabilistic determination based on the communication style of the virtual entity.
 24. An apparatus according to claim 19, wherein the historical event element is configured to store data related to the particular game application for use as historical information in future game applications.
 25. An apparatus according to claim 19, wherein the communication element is configured to receive one of changes or additions to the template content.
 26. An apparatus according to claim 19, wherein the communication element is configured to enable definition of a specific template content as being eligible for selection for inclusion in the message in response to each particular game related event.
 27. An apparatus according to claim 19, wherein providing the message comprises providing the message including the historical information defined by information related to past games involving one of the player or the virtual entity independent of the particular game application.
 28. An apparatus according to claim 19, wherein the apparatus is embodied as a mobile terminal and the message is capable of being provided for a plurality of game applications related to the same virtual entity.
 29. An apparatus according to claim 19, wherein the apparatus is embodied as a network device and the message is capable of being provided via a plurality of host devices for a plurality of game applications related to the same virtual entity.
 30. An apparatus comprising: means for receiving an indication of a particular game related event occurring in a particular game application; and means for providing a message to a player of the particular game application in response to receipt of the indication, the message including template content and historical information based on previous performance associated with a virtual entity. 